package com.yuhuihui.common.utils.excel.read.convert.impl;

import com.yuhuihui.common.utils.ConverterUtil;
import com.yuhuihui.common.utils.excel.read.convert.AbstractCellTypeConvert;
import com.yuhuihui.common.utils.excel.read.convert.CellTypeConvertParameter;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;

import java.text.ParseException;

/**
 * String类型装换
 *
 * @author yuhh
 * @date 2022-08-22 16:23:02
 * @see AbstractCellTypeConvert
 */
public class StringCellTypeConvertImpl implements AbstractCellTypeConvert {

	@Override
	public Object cellTypeConvert(CellTypeConvertParameter parameter) throws ParseException {
		Cell cell = parameter.getCell();
		String value = cell.getStringCellValue();
		return ConverterUtil.convert(parameter.getParameterType(), value.replaceAll("[\\s\\u00A0]+", "").trim());
	}

	@Override
	public int getTypeCode() {
		return CellType.STRING.ordinal();
	}

}
